# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/ipmi/ipmi-ipmb.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: IPMI IPMB device

description: IPMI IPMB device bindings

maintainers:
  - Corey Minyard <cminyard@mvista.com>

properties:
  compatible:
    enum:
      - ipmi-ipmb

  device_type:
    items:
      - const: "ipmi"

  reg:
    maxItems: 1

  bmcaddr:
    $ref: /schemas/types.yaml#/definitions/uint8
    description: The address of the BMC on the IPMB bus.  Defaults to 0x20.

  retry-time:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: |
      Time between retries of sends, in milliseconds.  Defaults to 250.

  max-retries:
    $ref: /schemas/types.yaml#/definitions/uint32
    description: Number of retries before a failure is declared.  Defaults to 1.

  slave-dev:
    $ref: /schemas/types.yaml#/definitions/phandle
    description: |
      The slave i2c device.  If not present, the main device is used. This
      lets you use two devices on the IPMB, one for master and one for slave,
      in case you have a slave device that can only be a slave.  The slave
      will receive messages and the master will transmit.

required:
  - compatible
  - reg

additionalProperties: false

examples:
  - |
    i2c {
            #address-cells = <1>;
            #size-cells = <0>;

            ipmi-ipmb@40 {
                    compatible = "ipmi-ipmb";
                    device_type = "ipmi";
                    reg = <0x40>;
                    bmcaddr = /bits/ 8 <0x20>;
                    retry-time = <250>;
                    max-retries = <1>;
            };
    };
